package dataStorage;

import java.io.IOException;
import java.util.ArrayList;

import javax.xml.bind.JAXBException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;

import org.xml.sax.SAXException;
//@author U096819H
public interface DataHandler {

	//@author U096819H
	public boolean write(entity.XMLentity o, String key, Class c) throws JAXBException,
			ParserConfigurationException, SAXException, IOException,
			TransformerConfigurationException, TransformerException, IllegalAccessException, InstantiationException;

	// @author U096819H
	public boolean update(String id, entity.XMLentity o, String key, Class c)
			throws JAXBException, ParserConfigurationException, SAXException,
			IOException, TransformerConfigurationException,
			TransformerException, InstantiationException, IllegalAccessException;

	// @author U096819H
	public boolean remove(entity.XMLentity o, String key) throws JAXBException,
			ParserConfigurationException, SAXException, IOException,
			TransformerException, InstantiationException, IllegalAccessException;

	// @author U096819H
	public ArrayList load(String key, Class c) throws JAXBException,
			ParserConfigurationException, SAXException, IOException,
			TransformerConfigurationException, TransformerException,
			InstantiationException, IllegalAccessException;
	
	public boolean reset(String key) throws IOException;
	public boolean resetAll();
}
